package a04ooppolymorphismDemo;

    /*    1.定义狗类s
        属性:
        年龄， 颜色
        行为:
        eat(String something)(something表示吃的东西)看家lookHome方法(无参数)
        2.定义猫类
        属性:
        年龄，颜色Ⅰ
        行为:
        eat(String something)方法(something表示吃的东西)逮老鼠catchMouse方法(无参数)
        3.定义Person类/饲养员
        属性:
        姓名，年龄
        行为:
        keepPet(Dog dog,String something)方法
        功能:喂养宠物狗，something表示喂养的东西
        行为:
        keepPet(Cat cat,String something)方法
        功能:喂养宠物猫，something表示喂养的东西
        生成空参有参构造，set和get方法
        4.定义测试类(完成以下打印效果):
        keepPet(Dog dog,String somethind)方法打印内容如下:
        年龄为30岁的老王养了一只黑颜色的2岁的狗
        2岁的黑颜色的狗两只前腿死死的抱住骨头猛吃
        keepPet(Cat cat,String somethind)方法打印内容如下:
        年龄为25岁的老李养了一只灰颜色的3岁的猫
        3岁的灰颜色的猫眯着眼睛侧着头吃鱼
        5.思考:
        1.Dog和Cat都是Animal的子类，以上案例中针对不同的动物，定义了不同的keepPet方法，过于繁琐，能否简化，并体会简化后的好处?2.Dog和Cat虽然都是Animal的子类，但是都有其特有方法，能否想办法在keepPet中调用特有方法?
*/
public class Text {
        public static void main(String[] args) {

            Person p1 = new Person("老王",30);
            Dog d = new Dog("黑",2);
            p1.keepPet(d,"骨头");

            System.out.println("========================================");

            Person p2 = new Person("老李",25);
            Cat c = new Cat("灰",3);
            p2.keepPet(c,"鱼");
        }
}
